1. Field of the Invention
The present invention relates to network communications and, more particularly, to management of subscriber service profiles for telecommunication services.
2. Description of Related Art
A typical telecommunication system comprises one or more serving systems through which subscribers can gain access to transport networks such as the public switched telephone network (PSTN) or the Internet for instance. Generally speaking, a service provider may operate and/or control such a serving system and may therefore govern subscriber communications over the transport network(s).
For example, a service provider may operate a serving system through which subscribers can place landline or wireless telephone calls over the PSTN. The serving system may comprise a switch that receives requests to connect calls to or from subscribers and that sets up and connects the calls. In that arrangement, a subscriber may send to the serving system a set of dialed digits indicating a telephone number being called, and the serving system may work to establish a connection with the called number. If successful, the serving system may then connect the call to the called number and allow the call to proceed.
As another example, a service provider may operate a central controller, such as a service control point (SCP), that assists in call processing via one or more serving systems. Applying well known “intelligent network” principles, for instance, a serving system may automatically signal to the central controller when a request is made to connect a call to or from a subscriber via the serving system. The central controller may then apply service logic and send a response to the serving system, instructing the serving system how to handle the call or simply ending the transaction.
A service provider typically maintains an account for each subscriber that it serves, in order to define service authorizations for the subscriber and to facilitate billing. Usually, each subscriber account will have a corresponding service profile that indicates the scope of service to be provided, and the service provider will refer to the profile when serving the subscriber, in order to determine what services to provide or not to provide.
In a telephone system, for instance, a subscriber's profile may indicate how the service provider should handle or respond to attempts to connect telephone calls to or from a given subscriber. For example, the subscriber's profile may indicate that the subscriber is not allowed to place calls to certain area codes, and so the service provider may block any attempt by the subscriber to place calls to those area codes. As another example, the subscriber's profile may indicate that some or all calls to the subscriber should be forwarded to another number or to voice mail under certain conditions, and so the service provider may accordingly forward an incoming call under those conditions.
Typically, each subscriber account will have a corresponding account number or other account identifier, and the account profile will be keyed to that number or other identifier. For example, in a landline telephone system, each customer's account has a directory number that is assigned to the telephone line extending to the customer's premises. A telephone company may then maintain a service profile for each account, keyed to the assigned directory number. When the telephone company processes calls to or from a given directory number, the company may then refer to the service profile that is keyed to that directory number.
As another example, in a mobile telephone system, each mobile phone typically has an assigned identifier (e.g., a mobile directory number (MDN), a mobile identification number (MIN) or mobile station identifier (MSID)). A wireless carrier may then maintain a service profile for each mobile phone, keyed to the assigned identifier. And when the wireless carrier processes calls to or from a given mobile phone, the carrier may then refer to the service profile that is keyed to the mobile phone's identifier.
A service provider can maintain its subscribers' service profiles in various locations. For example, the service provider could maintain the profiles within the serving systems that serve the subscribers, such as in a local switching office for instance. The service profile for a landline subscriber could regularly reside in the serving system that provides the telephone line for the subscriber. Whereas, the service profile for a mobile subscriber could be downloaded to the serving system from a home location register (HLR) when the mobile subscriber is operating in the serving system. When the serving system receives a request to set up a call to or from a given subscriber, the serving system may then refer to the profile for that subscriber to determine how to process the request.
Additionally or alternatively, a service provider can maintain its subscribers' service profiles in a central controller, such as an SCP for instance. When a serving system receives a request to set up a call to or from a subscriber that it serves, the serving system may encounter an intelligent network trigger and responsively signal to the central controller. The central controller may then refer to the profile for that subscriber to determine how to proceed and may then instruct the serving system accordingly.
Certain services defined by a subscriber's service profile may be configurable. For example, a subscriber's profile may define a call-forwarding service as described above, and the subscriber may be allowed to set the forward-to number and to turn call-forwarding on or off at will. As another example, a subscriber profile may define a voice mail service, and the subscriber may be allowed to turn the service on or off.
To allow subscribers to configure services in their service profiles, the industry has for many years employed a concept known as “feature codes.” A service provider may define specific digit sequences for use in activating, deactivating or modifying particular service features. Each sequence is known as a feature code (or, equivalently, a feature code string). A feature code usually consists of a preceding asterisk (*) or double asterisk (**) followed by a series of numeric digits (0 through 9), but could take other forms as well. Further, a pound sign (#) is sometimes used to delimit particular sequences of digits. For instance, the feature code string                *72 4085550303could mean that a call forwarding forward-to number is being registered. In this example, *72 may indicate that the call-forwarding feature is being accessed, and the digit sequence 4085550303 may indicate the forward-to number.        
When a subscriber sends a feature code to a serving system, the serving system may respond to the feature code by employing logic to change (i.e., activate, deactivate or modify) a service feature in a local copy of the subscriber's profile. Alternatively or additionally, the serving system may forward the dialed digits to a central controller, and the central controller may then respond to the feature code by activating, deactivating or modifying a service feature in the subscriber's profile and then sending a response message to the serving system.